<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Graphics Gems Repository</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="graphics gems, computer graphics, source code, errata" 
name=keywords>
<META 
content="Source code, errata, and addenda to the Graphics Gems book series" 
name=description>
<META content="MSHTML 5.50.4807.2300" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<H1>Graphics Gems Repository</H1>
<TABLE>
  <TBODY>
  <TR vAlign=center>
    <TD bgColor=#f4f4ff height=50>
      <P><FONT size=+1><B>Announcement:</B></FONT> The easy to remember URL for 
      this site is <FONT 
    size=+1><B>http://www.graphicsgems.org/</B></FONT>.</P></TD></TR></TBODY></TABLE>
<P>This is the official on-line repository for the code from the <I>Graphics 
Gems</I> series of books (from <A href="http://www.academicpress.com/">Academic 
Press</A>). This series focusses on short to medium length pieces of code which 
perform a wide variety of computer graphics related tasks. All code here can be 
used without restrictions. The code distributions here contain all known bug 
fixes and enhancements. We also provide errata listings for the text of each 
book. Please report any new errata or bugs to <A 
href="mailto:erich@acm.org">Eric Haines</A>. Better yet, submit a pull request to the <b><a href="https://github.com/erich666/GraphicsGems">Github repository</a></b>.
<P>The gems can be viewed <B><A 
href="category.html">by 
category</A></B>, <B><A 
href="gems.html">by book</A></B>, or 
<B><A href="authors.html">by 
author</A></B>. Gems code can be accessed in a variety of ways: by viewing the 
code directly from these pages or by downloading the whole website or a book's 
entire code base. Best is probably downloading the code from <b><a href="https://github.com/erich666/GraphicsGems">Github</a></b>.
<P>
<B>New:</B> you can search inside all the books on Amazon (though content is limited), and excerpts of many articles are available on Google Books. Links below.
<P>
<CENTER>
<TABLE border=1>
 <TBODY>
  <TR>
    <TD colSpan=7>Table of Contents: <A
href="gems.html">by book</A>, <A
href="category.html">by 
category</A>, <A href="authors.html">by
author</A>, <A 
      href="AllGems.TOC">text file</A> </TD></TR>
  <TR>
    <TD><B>Entire Gems Website</B></TD>
    <TD colSpan=4><b><a href="https://github.com/erich666/GraphicsGems/archive/master.zip">Download zip</a> from <a href="https://github.com/erich666/GraphicsGems">Github repository</a></b></TD>
    </TR>
  <TR>
    <TD><A 
      href="gems.html#gems">Graphics 
      Gems</A></TD>
    <TD><A 
      href="Errata.GraphicsGems">Errata 
      listing</A> </TD>
    <TD><A 
      href="http://www.amazon.com/gp/reader/0122861663?tag=realtimerenderin">Look Inside</A></TD>
    <TD><A 
      href="http://books.google.com/books?id=fvA7zLEFWZgC&printsec=frontcover&source=gbs_navlinks_s">Excerpts</A> </TD>
    <TD><A 
      href="http://www.amazon.com/exec/obidos/ASIN/0122861663?tag=realtimerenderin">Purchase Book</A></TD>
  </TR>
  <TR>
    <TD><A 
      href="gems.html#gemsii">Graphics 
      Gems II</A></TD>
    <TD><A 
      href="Errata.GraphicsGemsII">Errata 
      listing</A> </TD>
    <TD><A 
      href="http://www.amazon.com/gp/reader/0120644819?tag=realtimerenderin">Look Inside</A></TD>
    <TD><A 
      href="http://books.google.com/books?id=ceHgmfCMoasC&printsec=frontcover&source=gbs_navlinks_s">Excerpts</A> </TD>
    <TD><A 
      href="http://www.amazon.com/exec/obidos/ASIN/0120644819?tag=realtimerenderin">Purchase Book</A></TD>
  </TR>
  <TR>
    <TD><A 
      href="gems.html#gemsiii">Graphics 
      Gems III</A></TD>
    <TD><A 
      href="Errata.GraphicsGemsIII">Errata 
      listing</A> </TD>
    <TD><A 
      href="http://www.amazon.com/gp/reader/0124096735?tag=realtimerenderin">Look Inside</A></TD>
    <TD><A 
      href="http://books.google.com/books?id=xmW_u3mQLmQC&printsec=frontcover&source=gbs_navlinks_s">Excerpts</A> </TD>
    <TD><A 
      href="http://www.amazon.com/exec/obidos/ASIN/0124096735?tag=realtimerenderin">Purchase Book</A></TD>
  </TR>
  <TR>
    <TD><A 
      href="gems.html#gemsiv">Graphics 
      Gems IV</A></TD>
    <TD><A 
      href="Errata.GraphicsGemsIV">Errata 
      listing</A> </TD>
    <TD><A 
      href="http://www.amazon.com/gp/reader/0123361567?tag=realtimerenderin">Look Inside</A></TD>
    <TD><A 
      href="http://books.google.com/books?id=CCqzMm_-WucC&printsec=frontcover&source=gbs_navlinks_s">Excerpts</A> </TD>
    <TD><A 
      href="http://www.amazon.com/exec/obidos/ASIN/0123361559?tag=realtimerenderin">Purchase Book</A></TD>
  </TR>
  <TR>
    <TD><A 
      href="gems.html#gemsv">Graphics 
      Gems V</A></TD>
    <TD><A 
      href="Errata.GraphicsGemsV">Errata 
      listing</A> </TD>
    <TD><A 
      href="http://www.amazon.com/gp/reader/0125434553?tag=realtimerenderin">Look Inside</A></TD>
    <TD><A 
      href="http://books.google.com/books?id=S4n3qj_5C0gC&printsec=frontcover&source=gbs_navlinks_s">Excerpts</A> </TD>
    <TD><A 
      href="http://www.amazon.com/exec/obidos/ASIN/0125434553?tag=realtimerenderin">Purchase Book</A></TD>
  </TR>
  <TR>
    <TD colSpan=5>Graphics Gems V: sampling patterns</TD>
  </TR>
 </TBODY>
</TABLE>
</CENTER>

<P>There is also a bookmarked <B><a href="allgemspdf.zip">PDF version</a></B> of all the gems, created by Guillermo Gallo. It is somewhat out of date (March 2001), but handy for viewing and searching the entire code distribution.
<P>The "sampling patterns" are data files related to Robert Cross' Gem,
<B>Sampling Patterns Optimized for Uniform Distribution of Edges</B>.
<P>Here is publication information and Amazon links for the books themselves: 
<UL>
  <LI><B><A 
  href="http://www.amazon.com/exec/obidos/ASIN/0122861663?tag=realtimerenderin">Graphics 
  Gems</A></B>, <I>Andrew Glassner (editor)</I>, Academic Press, 1990, ISBN: 
  0122861663. 
  <LI><B><A 
  href="http://www.amazon.com/exec/obidos/ASIN/0120644819?tag=realtimerenderin">Graphics 
  Gems II</A></B>, <I>James Arvo (editor)</I>, Academic Press, 1991, ISBN: 
  0120644819. 
  <LI><B><A 
  href="http://www.amazon.com/exec/obidos/ASIN/0124096735?tag=realtimerenderin">Graphics 
  Gems III</A></B>, <I>David Kirk (editor)</I>, Academic Press, 1992, ISBN: 
  0124096735 (<A 
  href="http://www.amazon.com/exec/obidos/ASIN/0124096727?tag=realtimerenderin">Mac</A>: 
  0124096727). 
  <LI><B><A 
  href="http://www.amazon.com/exec/obidos/ASIN/0123361559?tag=realtimerenderin">Graphics 
  Gems IV</A></B>, <I>Paul Heckbert (editor)</I>, Academic Press, 1994, ISBN: 
  0123361559 (<A 
  href="http://www.amazon.com/exec/obidos/ASIN/0123361567?tag=realtimerenderin">Mac</A>: 
  0123361567). 
  <LI><B><A 
  href="http://www.amazon.com/exec/obidos/ASIN/0125434553?tag=realtimerenderin">Graphics 
  Gems V</A></B>, <I>Alan Paeth (editor)</I>, Academic Press, 1995, ISBN: 
  0125434553 (<A 
  href="http://www.amazon.com/exec/obidos/ASIN/012543457X?tag=realtimerenderin">Mac</A>: 
  012543457X). </LI></UL>
<P>The ISBN numbers listed are for the books with IBM PC disks included, with 
Mac versions in parentheses. The archives at this site are newer than those in 
the books, as the include the most up-to-date code with all known bug fixes. 
<P><I>Thanks to everyone who has provided corrections to this code repository
over the years. I would especially like to thank Ben Dawson, who found a large
number of problems that had been lurking in the code base for years.</I>

<P><B>Common code files:</B> the original GraphicsGems.h, GGVecLib.c, and GraphicsGems.c
(which replaces GGVecLib.c) files are found in their book's related directories, as these
vary from volume to volume. The common, maintained versions for all of these are found at the root
<a href="./GraphicsGems.h">GraphicsGems.h</a> and <a href="./GraphicsGems.c">GraphicsGems.c</a>
files.

<P><B>EULA:</B> The Graphics Gems code is copyright-protected. In other words,
you cannot claim the text of the code as your own and resell it. Using the code
is permitted in any program, product, or library, non-commercial or commercial.
Giving credit is not required, though is a nice gesture. The code comes as-is,
and if there are any flaws or problems with any Gems code, nobody involved with
Gems - authors, editors, publishers, or webmasters - are to be held responsible.
Basically, don't be a jerk, and remember that anything free comes with no guarantee.

<P><B>Related Resources:</B> The <I>Graphics Gems</I> series has been ended by 
the founding editor, Andrew Glassner. To allow continued presentation of new 
results, he started the <a href="http://www.tandfonline.com/loi/ujgt21"><I>journal of graphics 
tools</I></a>, a quarterly which includes Gems-like material and which has a free <a href="https://github.com/erich666/jgt-code">code repository</a>. This  was then succeeded by the <a href="http://jcgt.org/read.html?reload=1"><i>Journal of Computer Graphics Techniques</i></a>, an open-source journal
in which many of the articles include code.
<P>An excellent place for solid code for all sorts of basic graphics algorithms 
is Dave Eberly's <A href="http://www.geometrictools.com">Geometric Tools</A> 
site.
<P>Another useful site is the <A href="http://www.realtimerendering.com/int/">3D 
Object Intersection page</A>. Gems and other articles about various intersection 
algorithms are shown here.
<P>The <a href="http://www.geometryalgorithms.com/algorithms.htm">archive at Geometry Algorithms</a>
has a number of good articles on common geometric operations relevant to graphics.
<HR>
Last change: <I>February 2, 2016</I> 
<ADDRESS><A href="http://www.erichaines.com/">Eric Haines</A>, Gems archivist / 
<A href="mailto:erich@acm.org">erich@acm.org</A> </ADDRESS></BODY></HTML>
